Skip to content

Update installation scripts and modernize package management#15

Merged
tmaier merged 4 commits intomainfrom
claude/fix-failing-tests-eT22o
Feb 9, 2026
Merged

Update installation scripts and modernize package management#15
tmaier merged 4 commits intomainfrom
claude/fix-failing-tests-eT22o

Conversation

@tmaier
Copy link
Owner

@tmaier tmaier commented Feb 9, 2026

Summary

This PR modernizes several installation scripts to improve reliability and security, while also updating test infrastructure to use current base images.

Key Changes

  • Chrome installation: Replaced deprecated apt-key approach with modern GPG keyring management in /etc/apt/keyrings/, following current Debian/Ubuntu best practices

  • Node.js dependency handling: Updated Codex CLI and Gemini CLI installers to automatically install Node.js 22.x if not present, rather than failing with an error. This improves user experience by removing the need for manual prerequisite installation

  • Yek binary placement: Added logic to copy the yek binary from ~/.local/bin to /usr/local/bin to ensure it's globally available in PATH after installation

  • Test infrastructure: Updated Go devcontainer image from 1.21-bullseye to 1.24-bookworm to use a current Go version and modern base OS

Implementation Details

  • The Chrome repository configuration now uses the signed-by parameter to specify the GPG key location, which is the recommended approach for secure package management
  • Node.js installation uses NodeSource's official setup script for reliable package sourcing
  • The yek binary relocation includes a check to only copy if the binary exists and isn't already in PATH, preventing unnecessary operations

https://claude.ai/code/session_014AiNJx7n8PhgNNwqhAUTzR

- chrome: Replace deprecated apt-key with modern GPG keyring approach
  (/etc/apt/keyrings/) for Debian compatibility
- codex: Auto-install Node.js 22.x when not available instead of failing
- gemini-cli: Auto-install Node.js 22.x when not available instead of failing
- yek: Copy binary to /usr/local/bin when installer places it in
  ~/.local/bin (not in PATH)
- mcp-language-server: Update test scenario Go image from 1.21 to 1.24
  (mcp-language-server v0.1.1 requires Go >= 1.24.0)

https://claude.ai/code/session_014AiNJx7n8PhgNNwqhAUTzR
- Add test/codex/test.sh and test/gemini-cli/test.sh for autogenerated
  tests (devcontainer features test requires these files)
- Fix npm permission error: always install as root since npm's global
  directory (/usr/lib/node_modules/) requires root permissions. The
  previous su to _REMOTE_USER caused EACCES errors on non-root images.

https://claude.ai/code/session_014AiNJx7n8PhgNNwqhAUTzR
- chrome: 1.0.1 -> 1.0.2 (fix deprecated apt-key)
- codex: 1.0.0 -> 1.0.1 (auto-install Node.js, fix npm permissions)
- gemini-cli: 1.0.0 -> 1.0.1 (auto-install Node.js, fix npm permissions)
- yek: 1.0.2 -> 1.0.3 (fix PATH issue for installed binary)

https://claude.ai/code/session_014AiNJx7n8PhgNNwqhAUTzR
Replace deprecated Debian bullseye-based images with bookworm in
codex and gemini-cli test scenarios.

https://claude.ai/code/session_014AiNJx7n8PhgNNwqhAUTzR
@tmaier tmaier merged commit 2511c77 into main Feb 9, 2026
51 checks passed
@tmaier tmaier deleted the claude/fix-failing-tests-eT22o branch February 9, 2026 23:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants